package cn.duxiaod.demo.keyword;

public class StaticDemo {
    private String name;
    public static int age;

    //静态代码块
    //静态代码块定义在类中方法外, 静态代码块在非静态代码块之前执行(静态代码块 —> 非静态代码块 —> 构造方法)。 该类不管创建多少对象，静态代码块只执行一次.
    static {
        //静态代码块
        System.out.println("静态代码块执行!");
    }

    StaticDemo(String name){
        //构造方法
        System.out.println("构造方法执行!");
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void sayHi() {
        System.out.println("I am Static KeyWord!");
    }

    @Override
    public String toString() {
        return "StaticDemo{" +
                "name='" + name + '\'' +
                ",age='" + age + '\'' +
                '}';
    }
}
